/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.com.cotelasa.scp.dominio.service;

import java.util.Collection;
import java.util.Date;
import pe.com.cotelasa.scp.dominio.common.ResultadoServicio;
import pe.com.cotelasa.scp.dominio.excepcion.ServiceException;
import pe.com.cotelasa.scp.entidad.Articulo;
import pe.com.cotelasa.scp.entidad.Cotizacion;

/**
 *
 * @author usuario
 */
public interface IServicioCotizacion {

    public Collection<Cotizacion> listarCotizacionesActivos() throws ServiceException;

    public Cotizacion conseguirCotizacionPorId(Integer idCotizacion) throws ServiceException;

    public ResultadoServicio guardarCotizacion(Cotizacion cotizacion) throws ServiceException;

    public ResultadoServicio actualizarCotizacion(Cotizacion cotizacion) throws ServiceException;

    public Collection<Cotizacion> listarCotizacionesPorFiltro(Cotizacion cotizacion) throws ServiceException;
    
    public Collection<Cotizacion> buscarCotizacionesPorFiltro(Cotizacion cotizacion,Date fechaInicio,Date fechaFinal) throws ServiceException;
    
    public Collection<Cotizacion> listarUltimasCotizacionesPorArticulo(Cotizacion cotizacion) throws ServiceException;
    
    public Integer obtenerVersionDeCotizacion(Cotizacion cotizacion) throws ServiceException;
    
    public Collection<Cotizacion> listarUltimasVersionesCotizacion(Cotizacion cotizacion) throws ServiceException;

    public String conseguirCodigoPorCotizacion(Cotizacion cotizacion) throws ServiceException;
    
    public Cotizacion conseguirCotizaionPorCodigo(Cotizacion cotizacion) throws ServiceException;
    
    public Collection<Articulo> listarArticulosCotizados(Articulo articulo, int idEmpresa) throws ServiceException;
}   

